The present invention is applicable to many types of storage devices, such as disk files, tape drives, bubble memories, etc., and it will be described in the present application in an environment with Direct Access Storage Devices (DASD). The access of data on contemporary DASD units, such as disk files, has been accomplished through the use of a set of commands which direct the device to proceed to a specific geometric location and then process selected units of data found at that location. More specifically for example, in the IBM System 360 and System 370 CPU's, a CPU issues a series of commands, identified in 360/370 architecture as Channel Command Words (CCW's), which control the operation of the associated DASD.
The transfer of data between a 360/370 CPU and the accessed locations of storage devices utilizes a physical path connection involving a channel, a DASD control device communicating with the channel on one side in an asynchronous relationship and selected DASD devices on the other side. The operating system of the CPU initiates the transfer by a START I/O instruction, causing control to be relinquished to the channel, under control of a series of CCW's. A sequence or chain of commands is then sent from the CPU main storage over the channel to the control device for selecting and accessing the storage device as well as effectuating the data movement across the interface.
There are a number of costs associated with the initiation of data transfers between DASD and CPU main storage. These costs include
a. The cost of the CPU switching "context" from what it is currently doing, to service channel interruptions, perform start I/O instructions, etc., at those points in time when interrupts occur and/or the channel, control unit, or device become available so that an operation may be initiated.
b. The cost of "non-privileged" code (i.e. user code or access method code) creating personalized copies of channel programs for each DASD operation which is to run in parallel (in time) with other operations. Channel programs in their addressing of main storage do not have the benefit of base registers, as does the CPU. Therefore, channel programs are generally not reusable, but instead must be built and personalized for each use.
c. The cost of the storage management function as exercised to obtain and release storage for personalized channel programs.
d. The cost of "privileged" software (i.e., the supervisor) translating main storage addresses as required by the dynamic address translation (DAT) mechanism for main storage.
e. The costs in the channel and control unit, in terms of resources used and time spent, in sequencing from command to command, transferring commands and data over one I/O interface, and the like.
All of these costs can be reduced by reducing the complexity and number of CCW's necessary to accomplish a DASD operation, and/or by reducing the number of I/O interruptions required for a DASD data transfer operation.
Further information about this type of operation between a channel and control unit is contained in the publication "IBM System 360 and System 370 I/O Interface Channel to Control Unit, Original Equipment Manufacturer's Information", IBM Publication No. GA226974.